home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Plug-In Power Pack for Netscape Communicator
/
Plug-In Power Pack for Netscape Communicator.iso
/
plugins
/
dataviews
/
include
/
grlink.h
< prev
next >
Wrap
C/C++ Source or Header
|
1997-05-08
|
6KB
|
186 lines
#ifndef GRLINK_H
#define GRLINK_H
/*
| file name -- GRlink.h
|===================================================================
|
| copyright (c) 1984
| Visual Intelligence Corporation
|
| GRlink - Indices in link table for GRroutines.
|
| alan morse 11 sep 84 Extracted from dvprim.h
| russell turner 3 jan 89 added primitive GRreset
| chris hoffmann 26 nov 90 added mask and mass pixel setting
| for rasters
| chris hoffmann 10 oct 91 Added pixrep extensions to rasters.
|
|-------------------------------------------------------------------
|
| Description
| This contains the indices into the link tables for the GR
| graphics routines. This include file should only be used
| by GR routines and their device drivers.
|
| Note that primitives added after 1988 (i.e. 56 and beyond)
| must check for a NULL function pointer in the table before calling
| to be upwardly compatible with older, 'pre-89' drivers. -rt
|
|===================================================================
*/
/*-----------------------------------------------------------*/
/* define the number of device-dependent primitive functions */
/*-----------------------------------------------------------*/
#define NO_OF_PRIMITIVES 100
/* Maximum number of attribute-value pairs in GRopen_set */
#define MAXSETARGS 32
/*---------------------------------------*/
/* define a function pointer table entry */
/*---------------------------------------*/
typedef BOOLPARAM (*FPT_ENTRY)();
typedef int (*INT_FPT_ENTRY)();
typedef LONG (*LONG_FPT_ENTRY)();
typedef ULONG (*ULONG_FPT_ENTRY)();
typedef ADDRESS (*ADDR_FPT_ENTRY)();
/*---------------------------------*/
/* define a function pointer table */
/*---------------------------------*/
typedef FPT_ENTRY FPT [NO_OF_PRIMITIVES];
/*
|-------------------------------------------------------------------
| define the symbolic names of the device-dependent primitive functions
|
| Every device supported by the system has a corresponding device
| module of support routines. Each module contains a table of
| pointers. Each pointer within the table points to a device-
| dependent support function. The generic primitive module that
| 'sits' between higher level software and the device-dependent
| modules links to the device-dependent support functions through
| these function pointer tables.
|
| The following definitions actually define the index positions
| of the function pointers within each function pointer table.
| The generic primitive module uses these index definitions to
| access device-dependent primitive functions.
|
| FI means "Function Index"
|
|-------------------------------------------------------------------
*/
#define FIopen 0
#define FIclose 1
#define FIs_color_table 2
#define FIg_color_table 3
#define FIcolor 4
#define FIbackcolor 5
#define FIrasspix 6
#define FImove 7
#define FIvector 8
#define FIconcat_vector 9
#define FImove_and_vector 10
#define FIrectangle 11
#define FIf_rectangle 12
#define FIcircle 13
#define FIf_circle 14
#define FIpolygon 15
#define FIf_polygon 16
#define FIsector 17
#define FIf_sector 18
#define FIerase 19
#define FIrasgpix 20
#define FIflush 21
#define FIrasrestore 22
#define FItext 23
#define FItextsize 24
#define FIfont 25
#define FIch_size 26
#define FIrassave 27
#define FIvcs_to_scs 28
#define FIscs_to_vcs 29
#define FIlocate 30
#define FIsetfio 31
#define FIgetfio 32
#define FIrascreate 33
#define FIrasdraw 34
#define FIrasget 35
#define FIrasmove 36
#define FIrasfree 37
#define FIrasquery 38
#define FIselect 39
#define FIrgbtoindex 40
#define FIindextorgb 41
#define FIcurrent_point 42
#define FIviewport 43
#define FIg_viewport 44
#define FIcr_open_poll 45
#define FIcr_close_poll 46
#define FIcr_poll 47
#define FIcr_status 48
#define FIcr_define 49
#define FIline 50
#define FIrassize 51
#define FIend_frame 52
#define FImaskplanes 53
#define FIcr_move 54
/*
* The following new primitives are optional and are not guaranteed to be there
* for all drivers. The corresponding GR routines must check for a NULL
* function pointer before calling. -rt
*/
#define FIreset 55
#define FIset 56
#define FIget 57
#define FIwe_mask 58
#define FIwe_poll 59
#define FIwe_state 60
#define FIopen_set 61
#define FIwe_gmask 62
#define FIrasspixels 63
#define FIrassmask 64
#define FIrasdrawpart 65
#define FIwe_dispatch_event 66
#define FIg_pixel 67
#define FIwe_convert_event 68
#define FIg_actual_color_table 69
#define FIrasvalid 70
#define FIpixeltorgb 71
#define FIrasspxrp 72
#define FIrasgpxrp 73
#define FIrassmaskpxrp 74
#define FIrasgmaskpxrp 75
#define FIconcat_line 76
#define FIs_index_color 77
#define FIs_index_rw 78
#define FIdrop_color 79
#define FIg_ch_size 80
#ifdef WINNT
#define FIprint_start 81
#define FIprint_end 82
#define FIprint_set 83
#define FIprint_reset 84
#define FIprtoggle 85
#endif
#define FIsfontfree 86
#define FIsfontset 87
#define FIsftext 88
#define FIgetsfont 89
#define FIgetsfontinfo 90
#define FIsfpt_to_scs 91
#endif